Вставкой.отд
Главная     ◄Глагол     ◄Азбука     ◄Задачи на Глаголе     Примеры приложений ►   Среда разработки ►   Отладка программ ►   Отличия от Оберона ►   Отличия от Паскаля ►   Ассемблер ARM ►   Глагол для ARM ►   ? и Ответы
 
 glagol.png Программируем по-русски
 

Основная задача Глагола — дать человеку возможность воплощать свои мысли на языке, близком к его родному языку.

Издатель Глагола
 

 

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
                              ОТДЕЛ Вставкой;
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(* НАЗНАЧЕНИЕ: упорядочивание ряда простой вставкой                           *)
(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)

(*────────────────────────────────────────────────────────────────────────────*)
ЗАДАЧА Упорядочить-(ряд+:РЯД ИЗ ЦЕЛ);
(* Цель:  упорядочивание ряда целых чисел простой вставкой
 * До:    <ряд> - исходный ряд
 * После: <ряд> - упорядоченный ряд *)
ПЕР
  число:ЦЕЛ;     (* обрабатываемое число *)
  позНеуп:ЦЕЛ;   (* до этой позиции ряд уже упорядочен *)
  позВставки:ЦЕЛ;(* позиция вставки для обрабатываемого числа *)
  поз:ЦЕЛ;
УКАЗ
  ОТ позНеуп:=1 ДО РАЗМЕР(ряд)-1 ВЫП
    число:=ряд[позНеуп];
    (* ищем прямым перебором позицию вставки *)
    позВставки:=0;
    ПОКА число < ряд[позВставки] ВЫП
      УВЕЛИЧИТЬ(позВставки)
    КОН;
    (* раздвигаем в этом месте ряд *)
    ОТ поз:=позНеуп-1 ДО позВставки ПО -1 ВЫП
      ряд[поз+1]:=ряд[поз]
    КОН;
    (* вставляем туда число *)
    ряд[позВставки]:=число
  КОН
КОН Упорядочить;

КОН Вставкой.




Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
 email
 
Главная     ◄Глагол     ◄Азбука     ◄Задачи на Глаголе     Примеры приложений ►   Среда разработки ►   Отладка программ ►   Отличия от Оберона ►   Отличия от Паскаля ►   Ассемблер ARM ►   Глагол для ARM ►   ? и Ответы